{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 使用梯度上升法实现PCA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = np.empty((100, 2))\n",
    "X[:,0] = np.random.uniform(0., 100., size=100)\n",
    "# 特征2与特征1有比较明显的线性关系\n",
    "X[:,1] = 0.75 * X[:,0] + 3. + np.random.normal(0, 10., size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 368.925 248.518125\" width=\"368.925pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M -0 248.518125 \r\nL 368.925 248.518125 \r\nL 368.925 0 \r\nL -0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 224.64 \r\nL 361.725 224.64 \r\nL 361.725 7.2 \r\nL 26.925 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"m1cc31798d8\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#p4251e478ab)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"225.228934\" xlink:href=\"#m1cc31798d8\" y=\"107.461845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"56.137879\" xlink:href=\"#m1cc31798d8\" y=\"201.065501\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.508727\" xlink:href=\"#m1cc31798d8\" y=\"152.942271\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"204.434541\" xlink:href=\"#m1cc31798d8\" y=\"69.220977\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.380337\" xlink:href=\"#m1cc31798d8\" y=\"163.255814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"223.907399\" xlink:href=\"#m1cc31798d8\" y=\"87.830493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"317.476651\" xlink:href=\"#m1cc31798d8\" y=\"60.842685\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"285.521324\" xlink:href=\"#m1cc31798d8\" y=\"62.521785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.112714\" xlink:href=\"#m1cc31798d8\" y=\"133.553254\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"198.690941\" xlink:href=\"#m1cc31798d8\" y=\"89.407981\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"78.061832\" xlink:href=\"#m1cc31798d8\" y=\"190.125062\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"74.545596\" xlink:href=\"#m1cc31798d8\" y=\"182.958844\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"209.19239\" xlink:href=\"#m1cc31798d8\" y=\"92.001081\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"326.383707\" xlink:href=\"#m1cc31798d8\" y=\"33.401255\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"309.397607\" xlink:href=\"#m1cc31798d8\" y=\"70.530169\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"288.295808\" xlink:href=\"#m1cc31798d8\" y=\"84.494784\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.392755\" xlink:href=\"#m1cc31798d8\" y=\"214.727432\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.786763\" xlink:href=\"#m1cc31798d8\" y=\"183.856235\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.464078\" xlink:href=\"#m1cc31798d8\" y=\"136.264029\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"244.853149\" xlink:href=\"#m1cc31798d8\" y=\"77.554866\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"294.560421\" xlink:href=\"#m1cc31798d8\" y=\"35.210049\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"189.145321\" xlink:href=\"#m1cc31798d8\" y=\"110.18986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"272.59095\" xlink:href=\"#m1cc31798d8\" y=\"62.736293\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.788343\" xlink:href=\"#m1cc31798d8\" y=\"36.676713\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"68.208486\" xlink:href=\"#m1cc31798d8\" y=\"132.197861\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"70.722639\" xlink:href=\"#m1cc31798d8\" y=\"171.114605\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"290.205447\" xlink:href=\"#m1cc31798d8\" y=\"83.118416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"174.03438\" xlink:href=\"#m1cc31798d8\" y=\"99.969493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"193.77473\" xlink:href=\"#m1cc31798d8\" y=\"78.118137\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.623596\" xlink:href=\"#m1cc31798d8\" y=\"177.309579\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"72.889976\" xlink:href=\"#m1cc31798d8\" y=\"168.821869\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"335.433779\" xlink:href=\"#m1cc31798d8\" y=\"44.641986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.365546\" xlink:href=\"#m1cc31798d8\" y=\"162.62611\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.545757\" xlink:href=\"#m1cc31798d8\" y=\"132.494541\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"236.213271\" xlink:href=\"#m1cc31798d8\" y=\"81.658903\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"253.367955\" xlink:href=\"#m1cc31798d8\" y=\"90.132038\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"223.713562\" xlink:href=\"#m1cc31798d8\" y=\"131.910139\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"53.955048\" xlink:href=\"#m1cc31798d8\" y=\"204.692054\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.753501\" xlink:href=\"#m1cc31798d8\" y=\"129.732436\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"227.490113\" xlink:href=\"#m1cc31798d8\" y=\"97.836309\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"220.180359\" xlink:href=\"#m1cc31798d8\" y=\"103.489764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.892081\" xlink:href=\"#m1cc31798d8\" y=\"138.727104\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.305912\" xlink:href=\"#m1cc31798d8\" y=\"195.368229\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"213.493341\" xlink:href=\"#m1cc31798d8\" y=\"97.888941\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"307.250989\" xlink:href=\"#m1cc31798d8\" y=\"54.784553\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.711669\" xlink:href=\"#m1cc31798d8\" y=\"155.130185\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.819188\" xlink:href=\"#m1cc31798d8\" y=\"173.556492\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"210.21482\" xlink:href=\"#m1cc31798d8\" y=\"124.328971\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.828803\" xlink:href=\"#m1cc31798d8\" y=\"125.951845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.256736\" xlink:href=\"#m1cc31798d8\" y=\"104.267677\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"293.288502\" xlink:href=\"#m1cc31798d8\" y=\"22.718696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"300.400029\" xlink:href=\"#m1cc31798d8\" y=\"61.40857\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"244.52084\" xlink:href=\"#m1cc31798d8\" y=\"83.464802\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"272.730482\" xlink:href=\"#m1cc31798d8\" y=\"74.47391\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.546807\" xlink:href=\"#m1cc31798d8\" y=\"146.397138\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.813791\" xlink:href=\"#m1cc31798d8\" y=\"120.485791\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.427288\" xlink:href=\"#m1cc31798d8\" y=\"100.15333\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"273.315876\" xlink:href=\"#m1cc31798d8\" y=\"93.560872\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.587867\" xlink:href=\"#m1cc31798d8\" y=\"37.74414\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"229.121698\" xlink:href=\"#m1cc31798d8\" y=\"135.581806\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"226.638523\" xlink:href=\"#m1cc31798d8\" y=\"107.112764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.846585\" xlink:href=\"#m1cc31798d8\" y=\"167.593217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.076491\" xlink:href=\"#m1cc31798d8\" y=\"167.428551\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"215.888115\" xlink:href=\"#m1cc31798d8\" y=\"89.397918\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.566839\" xlink:href=\"#m1cc31798d8\" y=\"125.003217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.495725\" xlink:href=\"#m1cc31798d8\" y=\"34.894554\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"296.234652\" xlink:href=\"#m1cc31798d8\" y=\"23.837036\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.507951\" xlink:href=\"#m1cc31798d8\" y=\"140.936905\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"59.891812\" xlink:href=\"#m1cc31798d8\" y=\"167.766657\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"318.798457\" xlink:href=\"#m1cc31798d8\" y=\"43.37248\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"337.069212\" xlink:href=\"#m1cc31798d8\" y=\"59.618089\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"203.782089\" xlink:href=\"#m1cc31798d8\" y=\"77.54656\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"262.15685\" xlink:href=\"#m1cc31798d8\" y=\"60.98812\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"270.297266\" xlink:href=\"#m1cc31798d8\" y=\"73.716547\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.327572\" xlink:href=\"#m1cc31798d8\" y=\"127.330086\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"218.54708\" xlink:href=\"#m1cc31798d8\" y=\"109.755441\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.083165\" xlink:href=\"#m1cc31798d8\" y=\"66.921188\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.431115\" xlink:href=\"#m1cc31798d8\" y=\"111.766129\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.04575\" xlink:href=\"#m1cc31798d8\" y=\"119.936346\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.270677\" xlink:href=\"#m1cc31798d8\" y=\"71.839569\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"230.78052\" xlink:href=\"#m1cc31798d8\" y=\"143.532577\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"294.791187\" xlink:href=\"#m1cc31798d8\" y=\"60.247497\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"321.398086\" xlink:href=\"#m1cc31798d8\" y=\"55.039366\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.403835\" xlink:href=\"#m1cc31798d8\" y=\"93.470416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.068448\" xlink:href=\"#m1cc31798d8\" y=\"156.13855\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"197.572115\" xlink:href=\"#m1cc31798d8\" y=\"96.529416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.959124\" xlink:href=\"#m1cc31798d8\" y=\"171.488894\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.73986\" xlink:href=\"#m1cc31798d8\" y=\"107.260938\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.787971\" xlink:href=\"#m1cc31798d8\" y=\"163.159891\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"198.832474\" xlink:href=\"#m1cc31798d8\" y=\"105.224469\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.333815\" xlink:href=\"#m1cc31798d8\" y=\"153.983696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"300.518667\" xlink:href=\"#m1cc31798d8\" y=\"45.083207\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.603388\" xlink:href=\"#m1cc31798d8\" y=\"118.243253\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"42.170771\" xlink:href=\"#m1cc31798d8\" y=\"185.59059\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.494974\" xlink:href=\"#m1cc31798d8\" y=\"126.627522\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"346.479229\" xlink:href=\"#m1cc31798d8\" y=\"17.112568\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.913405\" xlink:href=\"#m1cc31798d8\" y=\"185.380532\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"298.143096\" xlink:href=\"#m1cc31798d8\" y=\"42.002457\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"201.076848\" xlink:href=\"#m1cc31798d8\" y=\"102.053516\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"331.036251\" xlink:href=\"#m1cc31798d8\" y=\"51.141511\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"mabe2677e3a\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"38.95634\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(35.77509 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"100.534389\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 20 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(94.171889 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"162.112437\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 40 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(155.749937 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"223.690486\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 60 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(217.327986 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"285.268534\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 80 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(278.906034 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-56\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"346.846582\" xlink:href=\"#mabe2677e3a\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 100 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(337.302832 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_7\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"mf64f4ab98c\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mf64f4ab98c\" y=\"199.258668\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(13.5625 203.057887)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mf64f4ab98c\" y=\"157.318856\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 161.118075)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mf64f4ab98c\" y=\"115.379044\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(7.2 119.178263)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mf64f4ab98c\" y=\"73.439232\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 60 -->\r\n      <g transform=\"translate(7.2 77.238451)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mf64f4ab98c\" y=\"31.49942\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 80 -->\r\n      <g transform=\"translate(7.2 35.298639)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-56\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 224.64 \r\nL 26.925 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 361.725 224.64 \r\nL 361.725 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 224.64 \r\nL 361.725 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 7.2 \r\nL 361.725 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p4251e478ab\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"26.925\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(X[:,0], X[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### demean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def demean(X):\n",
    "    # 每一个特征对应的平均值。行方向的均值，也就是每一列的均值。求出来的是1*n的均值\n",
    "    return X - np.mean(X, axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_demean = demean(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 377.304687 248.518125\" width=\"377.304687pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 248.518125 \r\nL 377.304687 248.518125 \r\nL 377.304687 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 370.104688 224.64 \r\nL 370.104688 7.2 \r\nL 35.304688 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"m011d807690\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#p343bc6a876)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"233.608622\" xlink:href=\"#m011d807690\" y=\"107.461845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"64.517566\" xlink:href=\"#m011d807690\" y=\"201.065501\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.888414\" xlink:href=\"#m011d807690\" y=\"152.942271\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.814229\" xlink:href=\"#m011d807690\" y=\"69.220977\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.760024\" xlink:href=\"#m011d807690\" y=\"163.255814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"232.287086\" xlink:href=\"#m011d807690\" y=\"87.830493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"325.856339\" xlink:href=\"#m011d807690\" y=\"60.842685\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"293.901011\" xlink:href=\"#m011d807690\" y=\"62.521785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.492401\" xlink:href=\"#m011d807690\" y=\"133.553254\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.070629\" xlink:href=\"#m011d807690\" y=\"89.407981\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.44152\" xlink:href=\"#m011d807690\" y=\"190.125062\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.925284\" xlink:href=\"#m011d807690\" y=\"182.958844\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"217.572078\" xlink:href=\"#m011d807690\" y=\"92.001081\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"334.763394\" xlink:href=\"#m011d807690\" y=\"33.401255\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"317.777294\" xlink:href=\"#m011d807690\" y=\"70.530169\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"296.675495\" xlink:href=\"#m011d807690\" y=\"84.494784\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.772442\" xlink:href=\"#m011d807690\" y=\"214.727432\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.16645\" xlink:href=\"#m011d807690\" y=\"183.856235\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.843766\" xlink:href=\"#m011d807690\" y=\"136.264029\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"253.232836\" xlink:href=\"#m011d807690\" y=\"77.554866\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"302.940109\" xlink:href=\"#m011d807690\" y=\"35.210049\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"197.525009\" xlink:href=\"#m011d807690\" y=\"110.18986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"280.970638\" xlink:href=\"#m011d807690\" y=\"62.736293\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"353.16803\" xlink:href=\"#m011d807690\" y=\"36.676713\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.588174\" xlink:href=\"#m011d807690\" y=\"132.197861\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.102326\" xlink:href=\"#m011d807690\" y=\"171.114605\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"298.585134\" xlink:href=\"#m011d807690\" y=\"83.118416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"182.414067\" xlink:href=\"#m011d807690\" y=\"99.969493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"202.154418\" xlink:href=\"#m011d807690\" y=\"78.118137\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.003284\" xlink:href=\"#m011d807690\" y=\"177.309579\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.269663\" xlink:href=\"#m011d807690\" y=\"168.821869\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"343.813466\" xlink:href=\"#m011d807690\" y=\"44.641986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.745234\" xlink:href=\"#m011d807690\" y=\"162.62611\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.925445\" xlink:href=\"#m011d807690\" y=\"132.494541\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"244.592959\" xlink:href=\"#m011d807690\" y=\"81.658903\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"261.747643\" xlink:href=\"#m011d807690\" y=\"90.132038\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"232.093249\" xlink:href=\"#m011d807690\" y=\"131.910139\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"62.334735\" xlink:href=\"#m011d807690\" y=\"204.692054\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"221.133188\" xlink:href=\"#m011d807690\" y=\"129.732436\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.8698\" xlink:href=\"#m011d807690\" y=\"97.836309\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"228.560046\" xlink:href=\"#m011d807690\" y=\"103.489764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"178.271769\" xlink:href=\"#m011d807690\" y=\"138.727104\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.6856\" xlink:href=\"#m011d807690\" y=\"195.368229\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"221.873029\" xlink:href=\"#m011d807690\" y=\"97.888941\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"315.630676\" xlink:href=\"#m011d807690\" y=\"54.784553\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.091357\" xlink:href=\"#m011d807690\" y=\"155.130185\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.198875\" xlink:href=\"#m011d807690\" y=\"173.556492\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"218.594507\" xlink:href=\"#m011d807690\" y=\"124.328971\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.20849\" xlink:href=\"#m011d807690\" y=\"125.951845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"193.636423\" xlink:href=\"#m011d807690\" y=\"104.267677\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"301.668189\" xlink:href=\"#m011d807690\" y=\"22.718696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.779717\" xlink:href=\"#m011d807690\" y=\"61.40857\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"252.900527\" xlink:href=\"#m011d807690\" y=\"83.464802\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"281.110169\" xlink:href=\"#m011d807690\" y=\"74.47391\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.926494\" xlink:href=\"#m011d807690\" y=\"146.397138\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.193479\" xlink:href=\"#m011d807690\" y=\"120.485791\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"251.806975\" xlink:href=\"#m011d807690\" y=\"100.15333\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"281.695564\" xlink:href=\"#m011d807690\" y=\"93.560872\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"352.967554\" xlink:href=\"#m011d807690\" y=\"37.74414\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"237.501385\" xlink:href=\"#m011d807690\" y=\"135.581806\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.01821\" xlink:href=\"#m011d807690\" y=\"107.112764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.226273\" xlink:href=\"#m011d807690\" y=\"167.593217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.456179\" xlink:href=\"#m011d807690\" y=\"167.428551\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"224.267802\" xlink:href=\"#m011d807690\" y=\"89.397918\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.946527\" xlink:href=\"#m011d807690\" y=\"125.003217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.875412\" xlink:href=\"#m011d807690\" y=\"34.894554\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"304.614339\" xlink:href=\"#m011d807690\" y=\"23.837036\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.887639\" xlink:href=\"#m011d807690\" y=\"140.936905\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"68.271499\" xlink:href=\"#m011d807690\" y=\"167.766657\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"327.178144\" xlink:href=\"#m011d807690\" y=\"43.37248\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"345.448899\" xlink:href=\"#m011d807690\" y=\"59.618089\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.161777\" xlink:href=\"#m011d807690\" y=\"77.54656\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"270.536538\" xlink:href=\"#m011d807690\" y=\"60.98812\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"278.676954\" xlink:href=\"#m011d807690\" y=\"73.716547\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.70726\" xlink:href=\"#m011d807690\" y=\"127.330086\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"226.926768\" xlink:href=\"#m011d807690\" y=\"109.755441\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"316.462852\" xlink:href=\"#m011d807690\" y=\"66.921188\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.810803\" xlink:href=\"#m011d807690\" y=\"111.766129\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.425437\" xlink:href=\"#m011d807690\" y=\"119.936346\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.650365\" xlink:href=\"#m011d807690\" y=\"71.839569\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"239.160208\" xlink:href=\"#m011d807690\" y=\"143.532577\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"303.170875\" xlink:href=\"#m011d807690\" y=\"60.247497\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"329.777774\" xlink:href=\"#m011d807690\" y=\"55.039366\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"187.783522\" xlink:href=\"#m011d807690\" y=\"93.470416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.448135\" xlink:href=\"#m011d807690\" y=\"156.13855\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"205.951803\" xlink:href=\"#m011d807690\" y=\"96.529416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.338812\" xlink:href=\"#m011d807690\" y=\"171.488894\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"180.119547\" xlink:href=\"#m011d807690\" y=\"107.260938\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.167658\" xlink:href=\"#m011d807690\" y=\"163.159891\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.212162\" xlink:href=\"#m011d807690\" y=\"105.224469\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.713502\" xlink:href=\"#m011d807690\" y=\"153.983696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.898354\" xlink:href=\"#m011d807690\" y=\"45.083207\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.983076\" xlink:href=\"#m011d807690\" y=\"118.243253\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"50.550458\" xlink:href=\"#m011d807690\" y=\"185.59059\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"200.874661\" xlink:href=\"#m011d807690\" y=\"126.627522\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"354.858917\" xlink:href=\"#m011d807690\" y=\"17.112568\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"88.293092\" xlink:href=\"#m011d807690\" y=\"185.380532\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"306.522783\" xlink:href=\"#m011d807690\" y=\"42.002457\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"209.456536\" xlink:href=\"#m011d807690\" y=\"102.053516\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"339.415938\" xlink:href=\"#m011d807690\" y=\"51.141511\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m132a0d285f\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"86.832821\" xlink:href=\"#m132a0d285f\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −40 -->\r\n      <defs>\r\n       <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(76.280477 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"148.410869\" xlink:href=\"#m132a0d285f\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −20 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(137.858525 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"209.988918\" xlink:href=\"#m132a0d285f\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(206.807668 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"271.566966\" xlink:href=\"#m132a0d285f\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(265.204466 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"333.145015\" xlink:href=\"#m132a0d285f\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(326.782515 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_6\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m86754d7a04\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m86754d7a04\" y=\"192.887212\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- −40 -->\r\n      <g transform=\"translate(7.2 196.686431)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m86754d7a04\" y=\"150.9474\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- −20 -->\r\n      <g transform=\"translate(7.2 154.746619)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m86754d7a04\" y=\"109.007588\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(21.942188 112.806807)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m86754d7a04\" y=\"67.067776\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(15.579688 70.866995)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m86754d7a04\" y=\"25.127964\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(15.579688 28.927183)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 35.304688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 370.104688 224.64 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 35.304687 224.64 \r\nL 370.104688 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 35.304687 7.2 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"p343bc6a876\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"35.304688\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(X_demean[:,0], X_demean[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "2.415845301584341e-15"
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "source": [
    "np.mean(X_demean[:,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "1.7408297026122456e-14"
     },
     "metadata": {},
     "execution_count": 8
    }
   ],
   "source": [
    "np.mean(X_demean[:,1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 梯度上升法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def f(w, X):\n",
    "    # 目标函数\n",
    "    # 数据已经归零化了，所以直接点乘即可\n",
    "    return np.sum((X.dot(w)**2)) / len(X)\n",
    "\n",
    "def df_math(w, X):\n",
    "    return X.T.dot(X.dot(w)) * 2. / len(X)\n",
    "\n",
    "# PCA的梯度上升法的时候，w是一个方向向量，模为1.所以所有方向上w的数值都很小，epsilon最好也设置小一点\n",
    "def df_debug(w, X, epsilon=0.0001):\n",
    "    res = np.empty(len(w))\n",
    "    for i in range(len(w)):\n",
    "        w_1 = w.copy()\n",
    "        w_1[i] += epsilon\n",
    "        w_2 = w.copy()\n",
    "        w_2[i] -= epsilon\n",
    "        res[i] = (f(w_1, X) - f(w_2, X)) / (2 * epsilon)\n",
    "    return res\n",
    "\n",
    "# 给定一个w向量，求w的单位向量\n",
    "# 就是用向量除以其模\n",
    "# np中的linalg(线性代数包)中的norm(模)\n",
    "# 推到的公式中w为1，所以每一次都要将w归成单位向量\n",
    "def direction(w):\n",
    "    return w / np.linalg.norm(w)\n",
    "\n",
    "def gradient_ascent(df, X, initial_w, eta, n_iters = 1e4, epsilon=1e-8):\n",
    "    \n",
    "    # 每一次从都要将w标准化！\n",
    "    w = direction(initial_w) \n",
    "    cur_iter = 0\n",
    "\n",
    "    while cur_iter < n_iters:\n",
    "        gradient = df(w, X)\n",
    "        last_w = w\n",
    "        w = w + eta * gradient\n",
    "        w = direction(w) # 注意1：每次求一个单位方向\n",
    "        if(abs(f(w, X) - f(last_w, X)) < epsilon):\n",
    "            break\n",
    "            \n",
    "        cur_iter += 1\n",
    "\n",
    "    return w"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([0.99824381, 0.63660264])"
     },
     "metadata": {},
     "execution_count": 10
    }
   ],
   "source": [
    "# w如果为0的化每一次计算出来的都是0\n",
    "# 0的地方就是极小值\n",
    "initial_w = np.random.random(X.shape[1]) # 注意2：不能用0向量开始\n",
    "initial_w"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "eta = 0.001\n",
    "# 注意3： PCA不能使用StandardScaler标准化数据\n",
    "# 如果将样本进行了标准化，那么样本的方差信息就被抹去了。PCA需要计算的就是方差最大的搜索\n",
    "# PCA已经完成了标准化的一半，也就是demean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([0.76786348, 0.64061351])"
     },
     "metadata": {},
     "execution_count": 12
    }
   ],
   "source": [
    "gradient_ascent(df_debug, X_demean, initial_w, eta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": "array([0.76786348, 0.64061351])"
     },
     "metadata": {},
     "execution_count": 13
    }
   ],
   "source": [
    "gradient_ascent(df_math, X_demean, initial_w, eta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "w = gradient_ascent(df_math, X_demean, initial_w, eta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 377.304687 248.518125\" width=\"377.304687pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 248.518125 \r\nL 377.304687 248.518125 \r\nL 377.304687 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 370.104688 224.64 \r\nL 370.104688 7.2 \r\nL 35.304688 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"mc0b4045684\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#padaa22221b)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"233.608622\" xlink:href=\"#mc0b4045684\" y=\"107.461845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"64.517566\" xlink:href=\"#mc0b4045684\" y=\"201.065501\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.888414\" xlink:href=\"#mc0b4045684\" y=\"152.942271\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.814229\" xlink:href=\"#mc0b4045684\" y=\"69.220977\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.760024\" xlink:href=\"#mc0b4045684\" y=\"163.255814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"232.287086\" xlink:href=\"#mc0b4045684\" y=\"87.830493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"325.856339\" xlink:href=\"#mc0b4045684\" y=\"60.842685\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"293.901011\" xlink:href=\"#mc0b4045684\" y=\"62.521785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.492401\" xlink:href=\"#mc0b4045684\" y=\"133.553254\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.070629\" xlink:href=\"#mc0b4045684\" y=\"89.407981\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.44152\" xlink:href=\"#mc0b4045684\" y=\"190.125062\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.925284\" xlink:href=\"#mc0b4045684\" y=\"182.958844\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"217.572078\" xlink:href=\"#mc0b4045684\" y=\"92.001081\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"334.763394\" xlink:href=\"#mc0b4045684\" y=\"33.401255\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"317.777294\" xlink:href=\"#mc0b4045684\" y=\"70.530169\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"296.675495\" xlink:href=\"#mc0b4045684\" y=\"84.494784\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.772442\" xlink:href=\"#mc0b4045684\" y=\"214.727432\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.16645\" xlink:href=\"#mc0b4045684\" y=\"183.856235\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.843766\" xlink:href=\"#mc0b4045684\" y=\"136.264029\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"253.232836\" xlink:href=\"#mc0b4045684\" y=\"77.554866\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"302.940109\" xlink:href=\"#mc0b4045684\" y=\"35.210049\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"197.525009\" xlink:href=\"#mc0b4045684\" y=\"110.18986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"280.970638\" xlink:href=\"#mc0b4045684\" y=\"62.736293\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"353.16803\" xlink:href=\"#mc0b4045684\" y=\"36.676713\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.588174\" xlink:href=\"#mc0b4045684\" y=\"132.197861\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.102326\" xlink:href=\"#mc0b4045684\" y=\"171.114605\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"298.585134\" xlink:href=\"#mc0b4045684\" y=\"83.118416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"182.414067\" xlink:href=\"#mc0b4045684\" y=\"99.969493\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"202.154418\" xlink:href=\"#mc0b4045684\" y=\"78.118137\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.003284\" xlink:href=\"#mc0b4045684\" y=\"177.309579\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.269663\" xlink:href=\"#mc0b4045684\" y=\"168.821869\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"343.813466\" xlink:href=\"#mc0b4045684\" y=\"44.641986\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.745234\" xlink:href=\"#mc0b4045684\" y=\"162.62611\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.925445\" xlink:href=\"#mc0b4045684\" y=\"132.494541\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"244.592959\" xlink:href=\"#mc0b4045684\" y=\"81.658903\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"261.747643\" xlink:href=\"#mc0b4045684\" y=\"90.132038\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"232.093249\" xlink:href=\"#mc0b4045684\" y=\"131.910139\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"62.334735\" xlink:href=\"#mc0b4045684\" y=\"204.692054\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"221.133188\" xlink:href=\"#mc0b4045684\" y=\"129.732436\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.8698\" xlink:href=\"#mc0b4045684\" y=\"97.836309\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"228.560046\" xlink:href=\"#mc0b4045684\" y=\"103.489764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"178.271769\" xlink:href=\"#mc0b4045684\" y=\"138.727104\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.6856\" xlink:href=\"#mc0b4045684\" y=\"195.368229\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"221.873029\" xlink:href=\"#mc0b4045684\" y=\"97.888941\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"315.630676\" xlink:href=\"#mc0b4045684\" y=\"54.784553\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.091357\" xlink:href=\"#mc0b4045684\" y=\"155.130185\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.198875\" xlink:href=\"#mc0b4045684\" y=\"173.556492\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"218.594507\" xlink:href=\"#mc0b4045684\" y=\"124.328971\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.20849\" xlink:href=\"#mc0b4045684\" y=\"125.951845\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"193.636423\" xlink:href=\"#mc0b4045684\" y=\"104.267677\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"301.668189\" xlink:href=\"#mc0b4045684\" y=\"22.718696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.779717\" xlink:href=\"#mc0b4045684\" y=\"61.40857\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"252.900527\" xlink:href=\"#mc0b4045684\" y=\"83.464802\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"281.110169\" xlink:href=\"#mc0b4045684\" y=\"74.47391\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.926494\" xlink:href=\"#mc0b4045684\" y=\"146.397138\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.193479\" xlink:href=\"#mc0b4045684\" y=\"120.485791\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"251.806975\" xlink:href=\"#mc0b4045684\" y=\"100.15333\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"281.695564\" xlink:href=\"#mc0b4045684\" y=\"93.560872\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"352.967554\" xlink:href=\"#mc0b4045684\" y=\"37.74414\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"237.501385\" xlink:href=\"#mc0b4045684\" y=\"135.581806\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.01821\" xlink:href=\"#mc0b4045684\" y=\"107.112764\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.226273\" xlink:href=\"#mc0b4045684\" y=\"167.593217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.456179\" xlink:href=\"#mc0b4045684\" y=\"167.428551\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"224.267802\" xlink:href=\"#mc0b4045684\" y=\"89.397918\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.946527\" xlink:href=\"#mc0b4045684\" y=\"125.003217\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.875412\" xlink:href=\"#mc0b4045684\" y=\"34.894554\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"304.614339\" xlink:href=\"#mc0b4045684\" y=\"23.837036\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.887639\" xlink:href=\"#mc0b4045684\" y=\"140.936905\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"68.271499\" xlink:href=\"#mc0b4045684\" y=\"167.766657\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"327.178144\" xlink:href=\"#mc0b4045684\" y=\"43.37248\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"345.448899\" xlink:href=\"#mc0b4045684\" y=\"59.618089\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"212.161777\" xlink:href=\"#mc0b4045684\" y=\"77.54656\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"270.536538\" xlink:href=\"#mc0b4045684\" y=\"60.98812\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"278.676954\" xlink:href=\"#mc0b4045684\" y=\"73.716547\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.70726\" xlink:href=\"#mc0b4045684\" y=\"127.330086\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"226.926768\" xlink:href=\"#mc0b4045684\" y=\"109.755441\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"316.462852\" xlink:href=\"#mc0b4045684\" y=\"66.921188\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.810803\" xlink:href=\"#mc0b4045684\" y=\"111.766129\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.425437\" xlink:href=\"#mc0b4045684\" y=\"119.936346\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.650365\" xlink:href=\"#mc0b4045684\" y=\"71.839569\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"239.160208\" xlink:href=\"#mc0b4045684\" y=\"143.532577\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"303.170875\" xlink:href=\"#mc0b4045684\" y=\"60.247497\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"329.777774\" xlink:href=\"#mc0b4045684\" y=\"55.039366\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"187.783522\" xlink:href=\"#mc0b4045684\" y=\"93.470416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.448135\" xlink:href=\"#mc0b4045684\" y=\"156.13855\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"205.951803\" xlink:href=\"#mc0b4045684\" y=\"96.529416\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.338812\" xlink:href=\"#mc0b4045684\" y=\"171.488894\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"180.119547\" xlink:href=\"#mc0b4045684\" y=\"107.260938\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.167658\" xlink:href=\"#mc0b4045684\" y=\"163.159891\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.212162\" xlink:href=\"#mc0b4045684\" y=\"105.224469\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.713502\" xlink:href=\"#mc0b4045684\" y=\"153.983696\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.898354\" xlink:href=\"#mc0b4045684\" y=\"45.083207\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.983076\" xlink:href=\"#mc0b4045684\" y=\"118.243253\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"50.550458\" xlink:href=\"#mc0b4045684\" y=\"185.59059\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"200.874661\" xlink:href=\"#mc0b4045684\" y=\"126.627522\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"354.858917\" xlink:href=\"#mc0b4045684\" y=\"17.112568\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"88.293092\" xlink:href=\"#mc0b4045684\" y=\"185.380532\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"306.522783\" xlink:href=\"#mc0b4045684\" y=\"42.002457\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"209.456536\" xlink:href=\"#mc0b4045684\" y=\"102.053516\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"339.415938\" xlink:href=\"#mc0b4045684\" y=\"51.141511\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m3b8e74ec2c\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"86.832821\" xlink:href=\"#m3b8e74ec2c\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −40 -->\r\n      <defs>\r\n       <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(76.280477 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"148.410869\" xlink:href=\"#m3b8e74ec2c\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −20 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(137.858525 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"209.988918\" xlink:href=\"#m3b8e74ec2c\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(206.807668 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"271.566966\" xlink:href=\"#m3b8e74ec2c\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(265.204466 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"333.145015\" xlink:href=\"#m3b8e74ec2c\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(326.782515 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_6\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m7fc60fd0af\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m7fc60fd0af\" y=\"192.887212\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- −40 -->\r\n      <g transform=\"translate(7.2 196.686431)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m7fc60fd0af\" y=\"150.9474\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- −20 -->\r\n      <g transform=\"translate(7.2 154.746619)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m7fc60fd0af\" y=\"109.007588\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(21.942188 112.806807)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m7fc60fd0af\" y=\"67.067776\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(15.579688 70.866995)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m7fc60fd0af\" y=\"25.127964\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(15.579688 28.927183)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_11\">\r\n    <path clip-path=\"url(#padaa22221b)\" d=\"M 209.988918 109.007588 \r\nL 280.91422 68.706773 \r\n\" style=\"fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 35.304688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 370.104688 224.64 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 35.304687 224.64 \r\nL 370.104688 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 35.304687 7.2 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"padaa22221b\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"35.304688\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(X_demean[:,0], X_demean[:,1])\n",
    "plt.plot([0, w[0]*30], [0, w[1]*30], color='r')\n",
    "plt.show()\n",
    "# 这跟直线就是所求的方向\n",
    "# 这个轴就是主成分。第一个求出来的就叫做第一主成分"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 使用极端数据集测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X2 = np.empty((100, 2))\n",
    "X2[:,0] = np.random.uniform(0., 100., size=100)\n",
    "X2[:,1] = 0.75 * X2[:,0] + 3."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 374.123976 248.518125\" width=\"374.123976pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M -0 248.518125 \r\nL 374.123976 248.518125 \r\nL 374.123976 0 \r\nL -0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 26.925 224.64 \r\nL 361.725 224.64 \r\nL 361.725 7.2 \r\nL 26.925 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"m70dac046b1\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#pff4c6300e6)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"227.501517\" xlink:href=\"#m70dac046b1\" y=\"94.377358\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.591377\" xlink:href=\"#m70dac046b1\" y=\"79.384324\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.082524\" xlink:href=\"#m70dac046b1\" y=\"155.686826\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"60.943184\" xlink:href=\"#m70dac046b1\" y=\"202.529357\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.917004\" xlink:href=\"#m70dac046b1\" y=\"122.678266\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"251.801804\" xlink:href=\"#m70dac046b1\" y=\"78.598353\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.916062\" xlink:href=\"#m70dac046b1\" y=\"146.704239\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.571369\" xlink:href=\"#m70dac046b1\" y=\"117.058692\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"303.641899\" xlink:href=\"#m70dac046b1\" y=\"44.936814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.841737\" xlink:href=\"#m70dac046b1\" y=\"127.272478\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"44.815\" xlink:href=\"#m70dac046b1\" y=\"213.001936\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.29838\" xlink:href=\"#m70dac046b1\" y=\"124.378628\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"280.677487\" xlink:href=\"#m70dac046b1\" y=\"59.848389\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.387347\" xlink:href=\"#m70dac046b1\" y=\"148.34622\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"306.563173\" xlink:href=\"#m70dac046b1\" y=\"43.039931\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.86038\" xlink:href=\"#m70dac046b1\" y=\"165.571083\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"234.986023\" xlink:href=\"#m70dac046b1\" y=\"89.517413\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"296.078227\" xlink:href=\"#m70dac046b1\" y=\"49.848164\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"321.523509\" xlink:href=\"#m70dac046b1\" y=\"33.325675\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"333.090191\" xlink:href=\"#m70dac046b1\" y=\"25.815034\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.11119\" xlink:href=\"#m70dac046b1\" y=\"171.901563\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"342.046555\" xlink:href=\"#m70dac046b1\" y=\"19.999362\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"225.744528\" xlink:href=\"#m70dac046b1\" y=\"95.51823\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"195.436793\" xlink:href=\"#m70dac046b1\" y=\"115.198075\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"325.587445\" xlink:href=\"#m70dac046b1\" y=\"30.686823\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"80.933435\" xlink:href=\"#m70dac046b1\" y=\"189.549006\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"339.048982\" xlink:href=\"#m70dac046b1\" y=\"21.945789\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"263.82321\" xlink:href=\"#m70dac046b1\" y=\"70.792445\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.257425\" xlink:href=\"#m70dac046b1\" y=\"148.430582\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.062708\" xlink:href=\"#m70dac046b1\" y=\"152.453023\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"249.425697\" xlink:href=\"#m70dac046b1\" y=\"80.14124\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"289.48661\" xlink:href=\"#m70dac046b1\" y=\"54.128325\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.337027\" xlink:href=\"#m70dac046b1\" y=\"162.664243\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.455367\" xlink:href=\"#m70dac046b1\" y=\"142.458045\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.193581\" xlink:href=\"#m70dac046b1\" y=\"191.977421\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.280818\" xlink:href=\"#m70dac046b1\" y=\"132.182041\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.082822\" xlink:href=\"#m70dac046b1\" y=\"148.543958\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"330.152501\" xlink:href=\"#m70dac046b1\" y=\"27.722576\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.911382\" xlink:href=\"#m70dac046b1\" y=\"127.227255\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.629677\" xlink:href=\"#m70dac046b1\" y=\"136.500853\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.327842\" xlink:href=\"#m70dac046b1\" y=\"157.475535\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.636526\" xlink:href=\"#m70dac046b1\" y=\"164.41777\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"267.109691\" xlink:href=\"#m70dac046b1\" y=\"68.65842\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.989984\" xlink:href=\"#m70dac046b1\" y=\"147.954906\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"70.201526\" xlink:href=\"#m70dac046b1\" y=\"196.5176\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.283177\" xlink:href=\"#m70dac046b1\" y=\"152.309865\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.620915\" xlink:href=\"#m70dac046b1\" y=\"79.365144\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.316567\" xlink:href=\"#m70dac046b1\" y=\"162.028194\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"194.946978\" xlink:href=\"#m70dac046b1\" y=\"115.516128\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.102295\" xlink:href=\"#m70dac046b1\" y=\"139.440636\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.13568\" xlink:href=\"#m70dac046b1\" y=\"142.016295\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"43.254547\" xlink:href=\"#m70dac046b1\" y=\"214.015191\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.85527\" xlink:href=\"#m70dac046b1\" y=\"154.535721\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"231.498104\" xlink:href=\"#m70dac046b1\" y=\"91.782237\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"336.370272\" xlink:href=\"#m70dac046b1\" y=\"23.685166\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"48.773095\" xlink:href=\"#m70dac046b1\" y=\"210.43181\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.413091\" xlink:href=\"#m70dac046b1\" y=\"191.834885\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.889497\" xlink:href=\"#m70dac046b1\" y=\"137.630811\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"299.22367\" xlink:href=\"#m70dac046b1\" y=\"47.80572\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"45.184395\" xlink:href=\"#m70dac046b1\" y=\"212.762076\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"74.10277\" xlink:href=\"#m70dac046b1\" y=\"193.984389\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"75.354619\" xlink:href=\"#m70dac046b1\" y=\"193.171521\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"52.764185\" xlink:href=\"#m70dac046b1\" y=\"207.84026\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.497398\" xlink:href=\"#m70dac046b1\" y=\"167.754781\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"334.323507\" xlink:href=\"#m70dac046b1\" y=\"25.0142\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"222.639489\" xlink:href=\"#m70dac046b1\" y=\"97.534438\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"295.372085\" xlink:href=\"#m70dac046b1\" y=\"50.306686\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"226.966059\" xlink:href=\"#m70dac046b1\" y=\"94.725048\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"229.949783\" xlink:href=\"#m70dac046b1\" y=\"92.787615\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"42.171738\" xlink:href=\"#m70dac046b1\" y=\"214.718296\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"262.877971\" xlink:href=\"#m70dac046b1\" y=\"71.40622\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"239.510791\" xlink:href=\"#m70dac046b1\" y=\"86.579327\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.143165\" xlink:href=\"#m70dac046b1\" y=\"142.660769\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.443687\" xlink:href=\"#m70dac046b1\" y=\"134.024286\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"249.114906\" xlink:href=\"#m70dac046b1\" y=\"80.343048\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"61.559121\" xlink:href=\"#m70dac046b1\" y=\"202.129408\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"346.478262\" xlink:href=\"#m70dac046b1\" y=\"17.121704\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.210575\" xlink:href=\"#m70dac046b1\" y=\"18.59419\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"346.310219\" xlink:href=\"#m70dac046b1\" y=\"17.23082\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.103587\" xlink:href=\"#m70dac046b1\" y=\"142.037134\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"44.000746\" xlink:href=\"#m70dac046b1\" y=\"213.530659\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.656671\" xlink:href=\"#m70dac046b1\" y=\"83.887265\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.547326\" xlink:href=\"#m70dac046b1\" y=\"156.034348\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.63338\" xlink:href=\"#m70dac046b1\" y=\"167.01715\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"50.815821\" xlink:href=\"#m70dac046b1\" y=\"209.105398\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"295.567552\" xlink:href=\"#m70dac046b1\" y=\"50.179762\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.025944\" xlink:href=\"#m70dac046b1\" y=\"162.86624\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.470872\" xlink:href=\"#m70dac046b1\" y=\"129.461296\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"299.995596\" xlink:href=\"#m70dac046b1\" y=\"47.304482\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"324.981138\" xlink:href=\"#m70dac046b1\" y=\"31.080519\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"292.421491\" xlink:href=\"#m70dac046b1\" y=\"52.222607\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.876577\" xlink:href=\"#m70dac046b1\" y=\"79.199134\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.031624\" xlink:href=\"#m70dac046b1\" y=\"158.317213\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"242.223634\" xlink:href=\"#m70dac046b1\" y=\"84.817785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.003469\" xlink:href=\"#m70dac046b1\" y=\"139.504808\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"66.104691\" xlink:href=\"#m70dac046b1\" y=\"199.177815\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"328.87096\" xlink:href=\"#m70dac046b1\" y=\"28.554725\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"221.633742\" xlink:href=\"#m70dac046b1\" y=\"98.187503\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"306.096649\" xlink:href=\"#m70dac046b1\" y=\"43.342861\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"328.749348\" xlink:href=\"#m70dac046b1\" y=\"28.633692\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m4712550918\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"38.69196\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- 0 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(35.51071 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"102.429613\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- 20 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(96.067113 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"166.167266\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 40 -->\r\n      <defs>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n      </defs>\r\n      <g transform=\"translate(159.804766 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"229.904919\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 60 -->\r\n      <defs>\r\n       <path d=\"M 33.015625 40.375 \r\nQ 26.375 40.375 22.484375 35.828125 \r\nQ 18.609375 31.296875 18.609375 23.390625 \r\nQ 18.609375 15.53125 22.484375 10.953125 \r\nQ 26.375 6.390625 33.015625 6.390625 \r\nQ 39.65625 6.390625 43.53125 10.953125 \r\nQ 47.40625 15.53125 47.40625 23.390625 \r\nQ 47.40625 31.296875 43.53125 35.828125 \r\nQ 39.65625 40.375 33.015625 40.375 \r\nz\r\nM 52.59375 71.296875 \r\nL 52.59375 62.3125 \r\nQ 48.875 64.0625 45.09375 64.984375 \r\nQ 41.3125 65.921875 37.59375 65.921875 \r\nQ 27.828125 65.921875 22.671875 59.328125 \r\nQ 17.53125 52.734375 16.796875 39.40625 \r\nQ 19.671875 43.65625 24.015625 45.921875 \r\nQ 28.375 48.1875 33.59375 48.1875 \r\nQ 44.578125 48.1875 50.953125 41.515625 \r\nQ 57.328125 34.859375 57.328125 23.390625 \r\nQ 57.328125 12.15625 50.6875 5.359375 \r\nQ 44.046875 -1.421875 33.015625 -1.421875 \r\nQ 20.359375 -1.421875 13.671875 8.265625 \r\nQ 6.984375 17.96875 6.984375 36.375 \r\nQ 6.984375 53.65625 15.1875 63.9375 \r\nQ 23.390625 74.21875 37.203125 74.21875 \r\nQ 40.921875 74.21875 44.703125 73.484375 \r\nQ 48.484375 72.75 52.59375 71.296875 \r\nz\r\n\" id=\"DejaVuSans-54\"/>\r\n      </defs>\r\n      <g transform=\"translate(223.542419 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"293.642573\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 80 -->\r\n      <defs>\r\n       <path d=\"M 31.78125 34.625 \r\nQ 24.75 34.625 20.71875 30.859375 \r\nQ 16.703125 27.09375 16.703125 20.515625 \r\nQ 16.703125 13.921875 20.71875 10.15625 \r\nQ 24.75 6.390625 31.78125 6.390625 \r\nQ 38.8125 6.390625 42.859375 10.171875 \r\nQ 46.921875 13.96875 46.921875 20.515625 \r\nQ 46.921875 27.09375 42.890625 30.859375 \r\nQ 38.875 34.625 31.78125 34.625 \r\nz\r\nM 21.921875 38.8125 \r\nQ 15.578125 40.375 12.03125 44.71875 \r\nQ 8.5 49.078125 8.5 55.328125 \r\nQ 8.5 64.0625 14.71875 69.140625 \r\nQ 20.953125 74.21875 31.78125 74.21875 \r\nQ 42.671875 74.21875 48.875 69.140625 \r\nQ 55.078125 64.0625 55.078125 55.328125 \r\nQ 55.078125 49.078125 51.53125 44.71875 \r\nQ 48 40.375 41.703125 38.8125 \r\nQ 48.828125 37.15625 52.796875 32.3125 \r\nQ 56.78125 27.484375 56.78125 20.515625 \r\nQ 56.78125 9.90625 50.3125 4.234375 \r\nQ 43.84375 -1.421875 31.78125 -1.421875 \r\nQ 19.734375 -1.421875 13.25 4.234375 \r\nQ 6.78125 9.90625 6.78125 20.515625 \r\nQ 6.78125 27.484375 10.78125 32.3125 \r\nQ 14.796875 37.15625 21.921875 38.8125 \r\nz\r\nM 18.3125 54.390625 \r\nQ 18.3125 48.734375 21.84375 45.5625 \r\nQ 25.390625 42.390625 31.78125 42.390625 \r\nQ 38.140625 42.390625 41.71875 45.5625 \r\nQ 45.3125 48.734375 45.3125 54.390625 \r\nQ 45.3125 60.0625 41.71875 63.234375 \r\nQ 38.140625 66.40625 31.78125 66.40625 \r\nQ 25.390625 66.40625 21.84375 63.234375 \r\nQ 18.3125 60.0625 18.3125 54.390625 \r\nz\r\n\" id=\"DejaVuSans-56\"/>\r\n      </defs>\r\n      <g transform=\"translate(287.280073 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-56\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_6\">\r\n     <g id=\"line2d_6\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"357.380226\" xlink:href=\"#m4712550918\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- 100 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(347.836476 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_7\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m6cc9eebc3e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"197.663888\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(7.2 201.463106)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"170.072535\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(7.2 173.871753)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"142.481182\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 30 -->\r\n      <defs>\r\n       <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n      </defs>\r\n      <g transform=\"translate(7.2 146.2804)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-51\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"114.889829\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(7.2 118.689047)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"87.298476\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 50 -->\r\n      <defs>\r\n       <path d=\"M 10.796875 72.90625 \r\nL 49.515625 72.90625 \r\nL 49.515625 64.59375 \r\nL 19.828125 64.59375 \r\nL 19.828125 46.734375 \r\nQ 21.96875 47.46875 24.109375 47.828125 \r\nQ 26.265625 48.1875 28.421875 48.1875 \r\nQ 40.625 48.1875 47.75 41.5 \r\nQ 54.890625 34.8125 54.890625 23.390625 \r\nQ 54.890625 11.625 47.5625 5.09375 \r\nQ 40.234375 -1.421875 26.90625 -1.421875 \r\nQ 22.3125 -1.421875 17.546875 -0.640625 \r\nQ 12.796875 0.140625 7.71875 1.703125 \r\nL 7.71875 11.625 \r\nQ 12.109375 9.234375 16.796875 8.0625 \r\nQ 21.484375 6.890625 26.703125 6.890625 \r\nQ 35.15625 6.890625 40.078125 11.328125 \r\nQ 45.015625 15.765625 45.015625 23.390625 \r\nQ 45.015625 31 40.078125 35.4375 \r\nQ 35.15625 39.890625 26.703125 39.890625 \r\nQ 22.75 39.890625 18.8125 39.015625 \r\nQ 14.890625 38.140625 10.796875 36.28125 \r\nz\r\n\" id=\"DejaVuSans-53\"/>\r\n      </defs>\r\n      <g transform=\"translate(7.2 91.097695)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-53\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"59.707123\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 60 -->\r\n      <g transform=\"translate(7.2 63.506342)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-54\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_13\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#m6cc9eebc3e\" y=\"32.11577\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_13\">\r\n      <!-- 70 -->\r\n      <defs>\r\n       <path d=\"M 8.203125 72.90625 \r\nL 55.078125 72.90625 \r\nL 55.078125 68.703125 \r\nL 28.609375 0 \r\nL 18.3125 0 \r\nL 43.21875 64.59375 \r\nL 8.203125 64.59375 \r\nz\r\n\" id=\"DejaVuSans-55\"/>\r\n      </defs>\r\n      <g transform=\"translate(7.2 35.914989)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-55\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 26.925 224.64 \r\nL 26.925 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 361.725 224.64 \r\nL 361.725 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 26.925 224.64 \r\nL 361.725 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 26.925 7.2 \r\nL 361.725 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"pff4c6300e6\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"26.925\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(X2[:,0], X2[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X2_demean = demean(X2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": "[0.80000043 0.59999943]\n"
    }
   ],
   "source": [
    "w2 = gradient_ascent(df_math, X2_demean, initial_w, eta)\n",
    "print(w2)\n",
    "# 0.8, 0.6的斜率就是0.75"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 377.304687 248.518125\" width=\"377.304687pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <defs>\r\n  <style type=\"text/css\">\r\n*{stroke-linecap:butt;stroke-linejoin:round;}\r\n  </style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n  <g id=\"patch_1\">\r\n   <path d=\"M 0 248.518125 \r\nL 377.304687 248.518125 \r\nL 377.304687 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n  </g>\r\n  <g id=\"axes_1\">\r\n   <g id=\"patch_2\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 370.104688 224.64 \r\nL 370.104688 7.2 \r\nL 35.304688 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n   </g>\r\n   <g id=\"PathCollection_1\">\r\n    <defs>\r\n     <path d=\"M 0 3 \r\nC 0.795609 3 1.55874 2.683901 2.12132 2.12132 \r\nC 2.683901 1.55874 3 0.795609 3 0 \r\nC 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \r\nC 1.55874 -2.683901 0.795609 -3 0 -3 \r\nC -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \r\nC -2.683901 -1.55874 -3 -0.795609 -3 0 \r\nC -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \r\nC -1.55874 2.683901 -0.795609 3 0 3 \r\nz\r\n\" id=\"mdb7c890d17\" style=\"stroke:#1f77b4;\"/>\r\n    </defs>\r\n    <g clip-path=\"url(#pe1795100b6)\">\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.881204\" xlink:href=\"#mdb7c890d17\" y=\"94.377358\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"258.971065\" xlink:href=\"#mdb7c890d17\" y=\"79.384324\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.462211\" xlink:href=\"#mdb7c890d17\" y=\"155.686826\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.322871\" xlink:href=\"#mdb7c890d17\" y=\"202.529357\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.296691\" xlink:href=\"#mdb7c890d17\" y=\"122.678266\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"260.181492\" xlink:href=\"#mdb7c890d17\" y=\"78.598353\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.295749\" xlink:href=\"#mdb7c890d17\" y=\"146.704239\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"200.951057\" xlink:href=\"#mdb7c890d17\" y=\"117.058692\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"312.021586\" xlink:href=\"#mdb7c890d17\" y=\"44.936814\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.221424\" xlink:href=\"#mdb7c890d17\" y=\"127.272478\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"53.194687\" xlink:href=\"#mdb7c890d17\" y=\"213.001936\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"189.678067\" xlink:href=\"#mdb7c890d17\" y=\"124.378628\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"289.057174\" xlink:href=\"#mdb7c890d17\" y=\"59.848389\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.767034\" xlink:href=\"#mdb7c890d17\" y=\"148.34622\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"314.94286\" xlink:href=\"#mdb7c890d17\" y=\"43.039931\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.240067\" xlink:href=\"#mdb7c890d17\" y=\"165.571083\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"243.365711\" xlink:href=\"#mdb7c890d17\" y=\"89.517413\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"304.457914\" xlink:href=\"#mdb7c890d17\" y=\"49.848164\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"329.903196\" xlink:href=\"#mdb7c890d17\" y=\"33.325675\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"341.469878\" xlink:href=\"#mdb7c890d17\" y=\"25.815034\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.490878\" xlink:href=\"#mdb7c890d17\" y=\"171.901563\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"350.426243\" xlink:href=\"#mdb7c890d17\" y=\"19.999362\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"234.124215\" xlink:href=\"#mdb7c890d17\" y=\"95.51823\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"203.816481\" xlink:href=\"#mdb7c890d17\" y=\"115.198075\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"333.967133\" xlink:href=\"#mdb7c890d17\" y=\"30.686823\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.313122\" xlink:href=\"#mdb7c890d17\" y=\"189.549006\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"347.428669\" xlink:href=\"#mdb7c890d17\" y=\"21.945789\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"272.202898\" xlink:href=\"#mdb7c890d17\" y=\"70.792445\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.637112\" xlink:href=\"#mdb7c890d17\" y=\"148.430582\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.442395\" xlink:href=\"#mdb7c890d17\" y=\"152.453023\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"257.805384\" xlink:href=\"#mdb7c890d17\" y=\"80.14124\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"297.866297\" xlink:href=\"#mdb7c890d17\" y=\"54.128325\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.716715\" xlink:href=\"#mdb7c890d17\" y=\"162.664243\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.835055\" xlink:href=\"#mdb7c890d17\" y=\"142.458045\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.573268\" xlink:href=\"#mdb7c890d17\" y=\"191.977421\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.660505\" xlink:href=\"#mdb7c890d17\" y=\"132.182041\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.46251\" xlink:href=\"#mdb7c890d17\" y=\"148.543958\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"338.532189\" xlink:href=\"#mdb7c890d17\" y=\"27.722576\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.29107\" xlink:href=\"#mdb7c890d17\" y=\"127.227255\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.009364\" xlink:href=\"#mdb7c890d17\" y=\"136.500853\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.70753\" xlink:href=\"#mdb7c890d17\" y=\"157.475535\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.016213\" xlink:href=\"#mdb7c890d17\" y=\"164.41777\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"275.489379\" xlink:href=\"#mdb7c890d17\" y=\"68.65842\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.369672\" xlink:href=\"#mdb7c890d17\" y=\"147.954906\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"78.581214\" xlink:href=\"#mdb7c890d17\" y=\"196.5176\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.662864\" xlink:href=\"#mdb7c890d17\" y=\"152.309865\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"259.000603\" xlink:href=\"#mdb7c890d17\" y=\"79.365144\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.696255\" xlink:href=\"#mdb7c890d17\" y=\"162.028194\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"203.326666\" xlink:href=\"#mdb7c890d17\" y=\"115.516128\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.481982\" xlink:href=\"#mdb7c890d17\" y=\"139.440636\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.515367\" xlink:href=\"#mdb7c890d17\" y=\"142.016295\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"51.634234\" xlink:href=\"#mdb7c890d17\" y=\"214.015191\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.234958\" xlink:href=\"#mdb7c890d17\" y=\"154.535721\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"239.877791\" xlink:href=\"#mdb7c890d17\" y=\"91.782237\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"344.74996\" xlink:href=\"#mdb7c890d17\" y=\"23.685166\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"57.152783\" xlink:href=\"#mdb7c890d17\" y=\"210.43181\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.792779\" xlink:href=\"#mdb7c890d17\" y=\"191.834885\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.269184\" xlink:href=\"#mdb7c890d17\" y=\"137.630811\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"307.603358\" xlink:href=\"#mdb7c890d17\" y=\"47.80572\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"53.564082\" xlink:href=\"#mdb7c890d17\" y=\"212.762076\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.482457\" xlink:href=\"#mdb7c890d17\" y=\"193.984389\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.734306\" xlink:href=\"#mdb7c890d17\" y=\"193.171521\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"61.143872\" xlink:href=\"#mdb7c890d17\" y=\"207.84026\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.877086\" xlink:href=\"#mdb7c890d17\" y=\"167.754781\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"342.703194\" xlink:href=\"#mdb7c890d17\" y=\"25.0142\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"231.019177\" xlink:href=\"#mdb7c890d17\" y=\"97.534438\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"303.751772\" xlink:href=\"#mdb7c890d17\" y=\"50.306686\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"235.345746\" xlink:href=\"#mdb7c890d17\" y=\"94.725048\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"238.32947\" xlink:href=\"#mdb7c890d17\" y=\"92.787615\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"50.551426\" xlink:href=\"#mdb7c890d17\" y=\"214.718296\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"271.257659\" xlink:href=\"#mdb7c890d17\" y=\"71.40622\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"247.890478\" xlink:href=\"#mdb7c890d17\" y=\"86.579327\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.522852\" xlink:href=\"#mdb7c890d17\" y=\"142.660769\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"174.823375\" xlink:href=\"#mdb7c890d17\" y=\"134.024286\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"257.494593\" xlink:href=\"#mdb7c890d17\" y=\"80.343048\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.938809\" xlink:href=\"#mdb7c890d17\" y=\"202.129408\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"354.857949\" xlink:href=\"#mdb7c890d17\" y=\"17.121704\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"352.590262\" xlink:href=\"#mdb7c890d17\" y=\"18.59419\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"354.689906\" xlink:href=\"#mdb7c890d17\" y=\"17.23082\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.483274\" xlink:href=\"#mdb7c890d17\" y=\"142.037134\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"52.380433\" xlink:href=\"#mdb7c890d17\" y=\"213.530659\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"252.036359\" xlink:href=\"#mdb7c890d17\" y=\"83.887265\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.927014\" xlink:href=\"#mdb7c890d17\" y=\"156.034348\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.013067\" xlink:href=\"#mdb7c890d17\" y=\"167.01715\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"59.195509\" xlink:href=\"#mdb7c890d17\" y=\"209.105398\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"303.94724\" xlink:href=\"#mdb7c890d17\" y=\"50.179762\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.405631\" xlink:href=\"#mdb7c890d17\" y=\"162.86624\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.850559\" xlink:href=\"#mdb7c890d17\" y=\"129.461296\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"308.375284\" xlink:href=\"#mdb7c890d17\" y=\"47.304482\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"333.360825\" xlink:href=\"#mdb7c890d17\" y=\"31.080519\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"300.801179\" xlink:href=\"#mdb7c890d17\" y=\"52.222607\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"259.256265\" xlink:href=\"#mdb7c890d17\" y=\"79.199134\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.411312\" xlink:href=\"#mdb7c890d17\" y=\"158.317213\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"250.603321\" xlink:href=\"#mdb7c890d17\" y=\"84.817785\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.383156\" xlink:href=\"#mdb7c890d17\" y=\"139.504808\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"74.484378\" xlink:href=\"#mdb7c890d17\" y=\"199.177815\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"337.250647\" xlink:href=\"#mdb7c890d17\" y=\"28.554725\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"230.01343\" xlink:href=\"#mdb7c890d17\" y=\"98.187503\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"314.476336\" xlink:href=\"#mdb7c890d17\" y=\"43.342861\"/>\r\n     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"337.129035\" xlink:href=\"#mdb7c890d17\" y=\"28.633692\"/>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_1\">\r\n    <g id=\"xtick_1\">\r\n     <g id=\"line2d_1\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m2f49d09cd4\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"75.652683\" xlink:href=\"#m2f49d09cd4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_1\">\r\n      <!-- −40 -->\r\n      <defs>\r\n       <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n       <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n       <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n      </defs>\r\n      <g transform=\"translate(65.100339 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_2\">\r\n     <g id=\"line2d_2\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"139.390336\" xlink:href=\"#m2f49d09cd4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_2\">\r\n      <!-- −20 -->\r\n      <defs>\r\n       <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSans-50\"/>\r\n      </defs>\r\n      <g transform=\"translate(128.837993 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_3\">\r\n     <g id=\"line2d_3\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"203.12799\" xlink:href=\"#m2f49d09cd4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_3\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(199.94674 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_4\">\r\n     <g id=\"line2d_4\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"266.865643\" xlink:href=\"#m2f49d09cd4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_4\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(260.503143 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"xtick_5\">\r\n     <g id=\"line2d_5\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"330.603296\" xlink:href=\"#m2f49d09cd4\" y=\"224.64\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_5\">\r\n      <!-- 40 -->\r\n      <g transform=\"translate(324.240796 239.238437)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-52\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"matplotlib.axis_2\">\r\n    <g id=\"ytick_1\">\r\n     <g id=\"line2d_6\">\r\n      <defs>\r\n       <path d=\"M 0 0 \r\nL -3.5 0 \r\n\" id=\"m202ef29d2a\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n      </defs>\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"198.419194\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_6\">\r\n      <!-- −30 -->\r\n      <defs>\r\n       <path d=\"M 40.578125 39.3125 \r\nQ 47.65625 37.796875 51.625 33 \r\nQ 55.609375 28.21875 55.609375 21.1875 \r\nQ 55.609375 10.40625 48.1875 4.484375 \r\nQ 40.765625 -1.421875 27.09375 -1.421875 \r\nQ 22.515625 -1.421875 17.65625 -0.515625 \r\nQ 12.796875 0.390625 7.625 2.203125 \r\nL 7.625 11.71875 \r\nQ 11.71875 9.328125 16.59375 8.109375 \r\nQ 21.484375 6.890625 26.8125 6.890625 \r\nQ 36.078125 6.890625 40.9375 10.546875 \r\nQ 45.796875 14.203125 45.796875 21.1875 \r\nQ 45.796875 27.640625 41.28125 31.265625 \r\nQ 36.765625 34.90625 28.71875 34.90625 \r\nL 20.21875 34.90625 \r\nL 20.21875 43.015625 \r\nL 29.109375 43.015625 \r\nQ 36.375 43.015625 40.234375 45.921875 \r\nQ 44.09375 48.828125 44.09375 54.296875 \r\nQ 44.09375 59.90625 40.109375 62.90625 \r\nQ 36.140625 65.921875 28.71875 65.921875 \r\nQ 24.65625 65.921875 20.015625 65.03125 \r\nQ 15.375 64.15625 9.8125 62.3125 \r\nL 9.8125 71.09375 \r\nQ 15.4375 72.65625 20.34375 73.4375 \r\nQ 25.25 74.21875 29.59375 74.21875 \r\nQ 40.828125 74.21875 47.359375 69.109375 \r\nQ 53.90625 64.015625 53.90625 55.328125 \r\nQ 53.90625 49.265625 50.4375 45.09375 \r\nQ 46.96875 40.921875 40.578125 39.3125 \r\nz\r\n\" id=\"DejaVuSans-51\"/>\r\n      </defs>\r\n      <g transform=\"translate(7.2 202.218413)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-51\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_2\">\r\n     <g id=\"line2d_7\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"170.827841\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_7\">\r\n      <!-- −20 -->\r\n      <g transform=\"translate(7.2 174.62706)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_3\">\r\n     <g id=\"line2d_8\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"143.236488\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_8\">\r\n      <!-- −10 -->\r\n      <defs>\r\n       <path d=\"M 12.40625 8.296875 \r\nL 28.515625 8.296875 \r\nL 28.515625 63.921875 \r\nL 10.984375 60.40625 \r\nL 10.984375 69.390625 \r\nL 28.421875 72.90625 \r\nL 38.28125 72.90625 \r\nL 38.28125 8.296875 \r\nL 54.390625 8.296875 \r\nL 54.390625 0 \r\nL 12.40625 0 \r\nz\r\n\" id=\"DejaVuSans-49\"/>\r\n      </defs>\r\n      <g transform=\"translate(7.2 147.035707)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-8722\"/>\r\n       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_4\">\r\n     <g id=\"line2d_9\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"115.645136\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_9\">\r\n      <!-- 0 -->\r\n      <g transform=\"translate(21.942188 119.444354)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_5\">\r\n     <g id=\"line2d_10\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"88.053783\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_10\">\r\n      <!-- 10 -->\r\n      <g transform=\"translate(15.579688 91.853001)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-49\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_6\">\r\n     <g id=\"line2d_11\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"60.46243\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_11\">\r\n      <!-- 20 -->\r\n      <g transform=\"translate(15.579688 64.261648)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-50\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n    <g id=\"ytick_7\">\r\n     <g id=\"line2d_12\">\r\n      <g>\r\n       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"35.304688\" xlink:href=\"#m202ef29d2a\" y=\"32.871077\"/>\r\n      </g>\r\n     </g>\r\n     <g id=\"text_12\">\r\n      <!-- 30 -->\r\n      <g transform=\"translate(15.579688 36.670295)scale(0.1 -0.1)\">\r\n       <use xlink:href=\"#DejaVuSans-51\"/>\r\n       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\r\n      </g>\r\n     </g>\r\n    </g>\r\n   </g>\r\n   <g id=\"line2d_13\">\r\n    <path clip-path=\"url(#pe1795100b6)\" d=\"M 203.12799 115.645136 \r\nL 279.613214 65.980747 \r\n\" style=\"fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:1.5;\"/>\r\n   </g>\r\n   <g id=\"patch_3\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 35.304688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_4\">\r\n    <path d=\"M 370.104688 224.64 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_5\">\r\n    <path d=\"M 35.304688 224.64 \r\nL 370.104688 224.64 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n   <g id=\"patch_6\">\r\n    <path d=\"M 35.304688 7.2 \r\nL 370.104688 7.2 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n   </g>\r\n  </g>\r\n </g>\r\n <defs>\r\n  <clipPath id=\"pe1795100b6\">\r\n   <rect height=\"217.44\" width=\"334.8\" x=\"35.304688\" y=\"7.2\"/>\r\n  </clipPath>\r\n </defs>\r\n</svg>\r\n",
      "image/png": "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\n"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "source": [
    "plt.scatter(X2_demean[:,0], X2_demean[:,1])\n",
    "plt.plot([0, w2[0]*30], [0, w2[1]*30], color='r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "同学们可以自己思考实现随机梯度下降法和小批量梯度下降法的版本：）"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.6.8 64-bit ('anaconda': conda)",
   "language": "python",
   "name": "python36864bitanacondaconda085db2e8b14649f4b32196068f7124e9"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7-final"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}